feat: i18n translation skills and CI workflows#77
feat: i18n translation skills and CI workflows#77tobomobo wants to merge 3 commits intoCopexit:mainfrom
Conversation
Three Claude Code skills (transcreation-exposed, qc-review, stop-slop) in tools/skills/ with symlink into .claude/skills/ for discovery. Two GitHub Actions workflows: - transcreation.yml: diffs EN against target locales, detects missing and stale keys via git history, translates the delta, validates JSON - translation-qc.yml: triggers on locale PRs, runs scoped QC review per locale in parallel, posts scored report as PR comment Both use anthropics/claude-code-action with OAuth token auth. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Fix shell/Python injection via summary output in Create PR step
by passing diff summary through env var instead of ${{ }} interpolation
- Remove unnecessary id-token: write permission (only needed for OIDC,
not OAuth token auth)
- Document stale-detection limitation in get_en_at_last_sync
- Document dry_run behavior on schedule trigger
- Replace hardcoded locale status table with pointer to diff job
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Prevents workflows from running until explicitly enabled by removing the .example suffix. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
c299001 to
d8be9bf
Compare
7-part transcreation skill with configurable voice, terminology, UI string rules, subagent strategy, and delivery checklists. Includes QC review framework (5-dimension scoring) and GitHub Actions workflow templates for automated translation sync and review. Generalized from Copexit/am-i-exposed#77. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
I was about to contribute translations to polish. Seeing this, does it mean, instead of translating, I could just add a definition for a language and the CI could do the honors? Or would you still recommend doing the translation in bulk? |
Are you a polish native speaker? Would love some more feedback and quality spot checking of the skill output. I'd recommend running the skills locally first and then submitting a PR. Beware of your token rate limits. The CI automation is intended for changes und updates. |
|
FYI, I made a PR for Polish: #83 |
Awesome! Did you use the skill or did you do it manually? Thanks |
|
I didn't use the skill, sorry. I tried several ways to make it do the 2k in one go, but always failed. |
Summary
Three Claude Code skills (
tools/skills/) and two GitHub Actions workflow examples for translating and reviewing locale files.Voice rules and terminology constraints are derived from CLAUDE.md.
CI pipeline
transcreation.yml.examplediffs EN against target locales, finds missing and stale keys (compares current EN values against EN at last translation commit), translates the delta, validates JSON and placeholder integrity, opens a PR.translation-qc.yml.exampletriggers on that PR, extracts changed keys from the diff, reviews per locale in parallel, posts a scored report as a comment.Both use
anthropics/claude-code-actionwith OAuth token auth. Rename to.ymland addCLAUDE_CODE_OAUTH_TOKENsecret to activate.Not included
Updated translations. Locale files are untouched. I will do a separate PR for the full transcreation when I have more tokens to spare.
Setup
Run once after cloning (see tools/skills/README.md for details):
mkdir -p .claude && ln -sf ../tools/skills .claude/skills